//
//  TemplateContainerMode.h
//  MVP_DesignModel_OCVersion
//
//  Created by DeLongYang on 2017/7/21.
//  Copyright © 2017年 DeLongYang. All rights reserved.
/*
    这是一个 抽象的基类 定义一些基本的属性 和 数据 给子类去实现
    以对应不同的数据   而这些子类的数据 对应 于
    这种 对应 于 TableView 中的某个 section  
     而一个 section 有 margin  和 header 
     还有 中间的 rows 等 
 
     需要注意的是 不论是 section header rows 都需要遵循 TemplateRenderProtocol
 
 */

#import <Foundation/Foundation.h>
#import "TemplateChannelModel.h"
#import "TemplateFHeaderModel.h"  // 头部显示的view
#import "TemplateMarginModel.h"   // 底部显示的view

@protocol TemplateContainerProtocol <NSObject>

@required


/**
 返回子节点的 数量

 @return return value description
 */
- (NSInteger )numberOfChildModelsInContainer;


/**
 返回 index 下的 子节点

 @param index index description
 @return return value description
 */
- (id<TemplateRenderProtocol>)childModeAtIndex:(NSInteger )index;

@end


@interface TemplateContainerMode : NSObject <TemplateRenderProtocol,TemplateContainerProtocol>

//netList
@property (nonatomic,strong) NSNumber                 *identityId;
@property (nonatomic,strong) NSString                 *pattern;
@property (nonatomic,strong) TemplateFHeaderModel     *fheader;
@property (nonatomic,strong) NSArray                  *itemList;
@property (nonatomic,strong) TemplateJumpModel        *jump;
@property (nonatomic,strong) TemplateMarginModel      *margin;
//other add
@property (nonatomic,weak) TemplateChannelModel     *channelModel;

@end
















